package com.hb.pojo.dto.leave;
                        
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Builder;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;

import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
public class LeaveDto {

    @Schema(description = "", required = false, hidden = false)
    private Integer leave_id;

    @Schema(description = "", required = false, hidden = false)
    private String role;

    @Schema(description = "Leave reason", required = false, hidden = false)
    private String reason;

    @Schema(description = "Frontend approve button control field", required = false, hidden = false)
    private int approveBtnVisable;

    @Schema(description = "Leave begin date", required = false, hidden = false)
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date begin_date;

    @Schema(description = "Leave end date", required = false, hidden = false)
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date end_date;

    @Schema(description = "Approve status", required = false, hidden = false)
    private Integer status;

    @Schema(description = "Last modify time", required = false, hidden = false)
    private Date lastmodify;

    @Schema(description = "Create_time", required = false, hidden = false)
    private Date create_time;

}